﻿using Order.Domain.Base;
using Order.Domain.Enum;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Order.Domain.OrderDomain
{
    /// <summary>
    /// 退款实体
    /// </summary>
    public class Refund : BaseEntity
    {
        /// <summary>
        /// 订单类型
        /// </summary>
        public OrderTypeEnum? OrderType { get; set; }

        /// <summary>
        /// 订单ID
        /// </summary>
        public int? OrderId { get; set; }

        /// <summary>
        /// 退款单号
        /// </summary>
        public string? RefundNo { get; set; }

        /// <summary>
        /// 退款金额
        /// </summary>
        public decimal? RefundAmount { get; set; }

        /// <summary>
        /// 退款来源
        /// </summary>
        public RefundSourceEnum? RefundSource { get; set; }

        /// <summary>
        /// 退款状态
        /// </summary>
        public RefundStatusEnum? RefundStatus { get; set; }

        /// <summary>
        /// 退款方式
        /// </summary>
        public RefundMethodEnum? RefundMethod { get; set; }

        /// <summary>
        /// 申请时间（创建时间）
        /// </summary>
        public DateTime? CreateTime { get; set; }

        /// <summary>
        /// 处理时间
        /// </summary>
        public DateTime? ProcessedTime { get; set; }

        /// <summary>
        /// 处理人
        /// </summary>
        public string? ProcessedName { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string? Remark { get; set; }
    }
}
